iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0

各位好,今天我們要來將昨天寫好的環境註冊到gym中,這個內容其實很多人寫過了,所以如果有看過有了解的話,今天可以直接休息一天跳過沒關係。不過為了這個系列的完整性,我會再介紹一次。

註冊環境

首先我們要先找到我們這個環境存放模組的資料夾,通常尋找的方法也是五花八門,這邊介紹一個相當簡單的逃課方法,我們可以用第12天介紹的pybullet_data.getDataPath()將這個print出來就可以看到我們模組的位置了。要注意的是site-packages這個資料夾才是放模組的喔。我們在這邊找到gym/envs的資料夾。

C:\Users\ken54\Anaconda3\envs\pythonProject3.8\lib\site-packages\pybullet_data

https://ithelp.ithome.com.tw/upload/images/20220920/201510291fy88m0O47.png

我們可以看到很多環境類型,這些之前在11天時都介紹過,不過這不是重點,我們要再創一個資料夾用來放我們的環境,新增一個名為r2d2walking的資料夾吧。

接下來把我們的環境的py檔案移動到此資料夾,並新增一個__init__.py檔案,這是函式庫初始化時會先讀取的檔案,我們要在此將我們的環境匯入。檔案內容只要寫出我們自定義環境的類別要如何從gym中匯入就好。

#gym/envs/r2d2walking/__init__.py
from gym.envs.r2d2walking.walking import R2D2Walking

這兩個檔案都放在剛剛建立的資料夾內部就好,接下來就可以正式註冊環境了喔!

我們先回到envs中的資料夾,這邊也有一個__init__.py檔案,註冊會需要更改這個檔案,我們打開檔案,新增以下程式碼就好了。

#gym/envs/__init__.py
register(
    id="R2D2walking-v1",
    entry_point="gym.envs.r2d2walking:R2D2Walking",
)

id就是可以自己決定要叫甚麼的,然後後面記得加-v1,這代表版本的號碼,要v0還是v1還是多少都沒差,但要註明此版本號碼就好。

entry_point是此環境的位置,言下之意是gym.envs.r2d2walking資料夾中有一個名為R2D2Walking的類別(環境)

以上步驟都好了以後就可以使用env=gym.make('R2D2walking-v1')來確定環境有沒有註冊成功了。

結語

今天註冊好了環境,各位這樣就可以使用自訂義的環境來玩了,基本上openAI gym也有很多環境,網路上更是數不勝數,有興趣都可以再去找找看喔,明天會開始介紹強化學習的套件stable-baselines3,總算要進入最後一個階段啦!


上一篇
D18:自定義環境(2/2)
下一篇
D20:強化學習模組—stable-baselines3介紹
系列文
高中生也可以!利用強化學習讓機器人動起來!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言